// BWLayerSet.h -- collection of layers

#import <Cocoa/Cocoa.h>
#import "BWLayer.h" // for layer kind

@class BWLayer;
@class BWGridGeometry;

@interface BWLayerSet : NSObject <NSCoding>
{
    NSMutableArray *layers;
}

- (void) addLayer: (BWLayer *) layer;
- (void) addLayer: (BWLayer *) layer
          atIndex: (int) index;
- (void) removeLayerAtIndex: (int) index;

- (int) count;
- (BWLayer *) layerAtIndex: (int) index;

- (NSEnumerator *) layerEnumerator;
- (NSEnumerator *) reverseLayerEnumerator;

- (NSEnumerator *) activeLayerEnumeratorForKind: (BWLayerKind) kind;

- (void) showAllLayers;
- (void) soloLayerAtIndex: (int) index;

- (int) countOfLayersOfKind: (BWLayerKind) kind;

- (void) setGeometry: (BWGridGeometry *) geometry;

@end // BWLayerSet


